Auto video preview within a digital magazine

ABSTRACT

A computer implemented method enables presenting interesting and informative preview video of a video content item in a digital magazine. The method comprises steps of receiving a video content item from a content provider, e.g., a 2-minute video advertisement for a car from an advertiser, and analyzing the video content item. The video content item is segmented into multiple segments based on the analysis, e.g., scene changes detected with the video frames of the video content item. One or more segments are selected, e.g., based on their associated visual quality, and are combined to generate a preview video, e.g., a 10-second long video highlighting new features of the car. One or more transition segments can be added between segments to enhance user experience with the preview video. The preview video is provided to a client device for display and auto playback.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/064,384, filed on Mar. 8, 2016, the disclosure of which is herebyincorporated by reference in its entirety.

BACKGROUND

This disclosure relates generally to providing digital content to usersof an online system, and more specifically to providing automatic videopreview of video content within a digital magazine.

Digital distribution channels disseminate a wide variety of digitalcontent including videos, text, images, audio, links, and interactivemedia (e.g., games, collaborative content) to users. A user of a digitalmagazine application can view videos and play videos on content pages ofa digital magazine. Conventionally, before a video being played back bya user, the video is presented to the user for preview in one or morestatic images, e.g., video frames selected from the video orreduced-size version of the video frames (also commonly referred to as“thumbnails” or “thumbnail images”). However, videos often containdynamic and interesting content, e.g., an exciting football game havinga lot of exciting movements of players. Presenting video content instatic thumbnail images to users on content pages of a digital magazinemay render the video content less representative, less accurate and lessattractive. Furthermore, statically presenting video content by staticthumbnail images, e.g., a video advertising a new car, is not effectivefor content providers, e.g., car manufacturers and advertising agency,to effectively advertise their products or services because the staticthumbnail images of the video do not vividly represent the interestingand dynamics of the video content.

SUMMARY

Embodiments of the invention provide one or more preview videosgenerated from a source video for display on content pages of a digitalmagazine. A preview video generated from a source video providesinteresting and representative information about the source video, e.g.,a 10-second preview video generated from a 2-minute video advertisementfor a car, where the preview video show highlights of new features ofthe car. To select a good preview video for the source video, the sourcevideo is analyzed and segmented into multiple segments based on theanalysis, e.g., based on detected scene changes within the video framesof the source video. Each segment of the source video can have a scoreindicating the visual quality of the segment. Examples of visual qualityindicators include content richness, video frame quality, objects ofinterest (e.g., having specifically defined human or object in videoframes), sound quality (e.g., quality of people speaking) of the sourcevideo. One or more segments are selected and combined to generate thepreview video. Different segments can be selected based on, e.g.,selection schema, preview video duration, video genre, etc. The selectedsegments can be filtered to exclude uninteresting video frames from thesegments, e.g., video frames having low sound or low movement in thevideo frames. One or more transition segments can be added betweensegments to provide smooth transition and to enhance user experiencewith the preview video.

To serve different client devices having different characteristics suchas different processing capabilities, different connection speeds with adigital magazine server over a network, multiple preview videos can begenerated from a same source video. For example, multiple preview videosfrom a same source video are generated, each of which is for a differentdisplay resolution of the client devices, e.g., 480p, 720p, 1080p and2160p. A preview video is provided to a client device for display andauto playback. For example, without an explicit play action from a userof the digital server, the preview video is automatically played for theuser while the user view the content page displaying the preview video.In response to a click of the preview video from the user, the sourcevideo is presented to the user for further interaction.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of a system environment for providing previewvideos for display in a digital magazine, according to one embodiment.

FIG. 2 is an example digital magazine page with a video content itempresented on a display of a client device, according to one embodiment.

FIG. 3 is an example block diagram of a video preview module, accordingto one embodiment.

FIG. 4 is a flowchart illustrating a process of generating a previewvideo from a source video, according to one embodiment.

The figures and the following description describe certain embodimentsby way of illustration only. One skilled in the art will readilyrecognize from the following description that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles described herein. Reference will now bemade in detail to several embodiments, examples of which are illustratedin the accompanying figures. It is noted that wherever practicablesimilar or like reference numbers may be used in the figures to indicatesimilar or like functionality.

DETAILED DESCRIPTION OF THE FIGURES

Example Digital Magazine System Environment

One embodiment of a disclosed configuration is a system (or a computerimplemented method or a non-transitory computer readable medium) forproviding preview videos generated from corresponding source videos andpresenting the preview videos on content pages to users of digitalmagazines.

A “digital magazine” herein refers to an aggregation of digital contentitems that can be presented to users in a presentable format similar tothe format used by print magazines. A “content item” herein refers toany machine-readable and machine-storable work product, such as videos,pictures/images, textual articles, advertisements, user-generatedcontent (e.g., content posted on a social networking system), and anyother types of digital content capable of display within the context ofa digital magazine. In one embodiment, a digital magazine assembles alist of universal resource locators (URLs), where each video, image ortextual article of the digital magazine is based on the content of aresource on the Internet to which a URL of the list of the URLsreferences to. A “preview video” for a source video refers to a videogenerated from the source video, which includes a portion or all of thesource video and provides interesting and representative informationabout the source video. A preview video generated from a source videocan be different from the source video in various ways, including, e.g.,different length, frame rate, bit rate, sampling rate, resolution,encoding/decoding scheme, media format, and sound quality. A previewvideo can be automatically played back on a content page of a digitalmagazine for a user of the digital magazine without an explicit playbackaction by the user.

FIG. 1 is a block diagram of a system environment 100 for providingpreview videos for display in a digital magazine, according to oneembodiment. The system environment 100 shown in FIG. 1 includes a source110, a media server 120, a digital magazine server 140, a client device150 and a network 130. Only one source 110, one media server 120, onedigital magazine server 140 and one client device 150 are shown in FIG.1 in order to simplify the description. Embodiments of the systemenvironment 100 can have multiple sources 110, media servers 120,digital magazine servers 140 and client devices 150 connected throughthe network 130. Likewise, the functions performed by the variousentities of FIG. 1 may differ in different embodiments. The embodimentsdescribed herein can be adapted to online systems that are not digitalmagazine servers 140.

A source 110 is a computing system capable of providing various types ofdigital content to a client device 150 and to a digital magazine server140. Examples of content provided by a source 110 include video, text,images, or audio on web pages, web feeds, social networking information,messages or other suitable digital data. Additional examples of contentinclude user-generated content such as blogs, tweets, shared images,audios or videos, social networking posts and social networking statusupdates. Content provided by a source 110 may be received from apublisher and distributed by the source 110; alternatively, a source 110may be the publisher that generates content. For convenience, contentfrom a source 110, regardless of its composition, is referred to hereinas a “content item”. A content item may include various types of contentelements such as text, image, audio, video, interactive media, links anda combination thereof.

The digital magazine server 140 is a computer system that receivescontent items from one or more sources 110 or provided by users of thedigital magazine server 140, generates pages in a digital magazine byprocessing the received content, and provides the pages to the clientdevice 150 or provides instructions to the client device 150 to generatepages in a digital magazine. In one embodiment, the digital magazineserver 140 receives a video content item and a request for a previewvideo of the video content item to the media server 120. The mediaserver 120 generates the requested preview video from the video contentitem, where the preview video provides interesting and representativeinformation about the video content item. The digital magazine server140 instructs a digital magazine application executed on the clientdevice 150 to display and automatically play back the preview video on acontent page of the digital magazine. In response to a detection of auser clicking any part of a display of the preview video, the digitalmagazine server 140 instructs the digital magazine application to pausethe playing of the preview video and to display the video content item.For simplicity, the video content item from which a preview video isgenerated is referred to as a “source video.” Other embodiments of thedigital magazine sever 140 include additional or different modules,e.g., a search module for searching requested video content.

The source 110, the digital magazine server 140, the media server 120and the client device 150 communicate with each other via the network130. The network 130 may comprise any combination of local area and/orwide area networks, using both wired and/or wireless communicationsystems. In one embodiment, the network 130 uses standard communicationstechnologies and/or protocols. For example, the network 130 includescommunication links using technologies such as Ethernet, 802.1,worldwide interoperability for microwave access (WiMAX), 3G, 4G, codedivision multiple access (CDMA), digital subscriber line (DSL), etc.Examples of networking protocols used for communicating via the network130 include multiprotocol label switching (MPLS), transmission controlprotocol/Internet protocol (TCP/IP), hypertext transport protocol(HTTP), simple mail transfer protocol (SMTP), and file transfer protocol(FTP). Data exchanged over the network 130 may be represented using anysuitable format, such as hypertext markup language (HTML) or extensiblemarkup language (XML). In some embodiments, all or some of thecommunication links of the network 130 may be encrypted using anysuitable technique or techniques.

The media server 120 is a computer system that processes requests basedon network protocols, e.g., HTTP. In one embodiment, the media server120 links the digital magazine server 140 via the network 130 to theclient device 150, as well as to the source 110. The media server 120serves web pages as well as other digital content to the digitalmagazine server 140, and communicates instructions to the client device150 for generating pages of content items in a suitable presentationstyle and format for presentation to a user of the client device 150. Inthe embodiment shown in FIG. 1, the media sever 120 includes a videopreview module 122, which is further illustrated with reference todescription of FIG. 3. In the embodiment shown in FIG. 1, the mediaserver 120 is a network entity separate from the digital magazine server140. In other embodiments, the media server 120 is an entity of thedigital magazine server 140.

The client device 150 is a computing device capable of receiving userinput as well as transmitting and/or receiving digital data from thesource 110 or the digital magazine server 140 via the network 130.Various embodiments of the client device 150 include a conventionalcomputer system, such as a desktop or a laptop computer, and a devicehaving computer functionality, such as a personal digital assistant(PDA), a mobile telephone, a smartphone or another suitable device. Inone embodiment, the client device 150 executes an application allowing auser of the client device 150 to interact with the digital magazineserver 140. For example, an application executing on the client device150 communicates instructions or requests for content items to thedigital magazine server 140. The client device 150 also executes abrowser that receives pages from the digital magazine server 140 andpresents the pages to a user accessing the client device 150. In anotherembodiment, the client device 150 interacts with the digital magazineserver 140 through an API running on a native operating system of theclient device 150, such as IOS® or ANDROID™.

Different client devices 150 may have different characteristics such asdifferent processing capabilities, different connection speeds with thedigital magazine server 140 over the network 130, and different devicetypes (e.g., make, manufacture, and version). For example, in oneembodiment, a client device 150 includes a display device (not shown)and an input device (not shown). A display device included in the clientdevice 150 presents content items to a user of the client device 150. Aninput device included in the client device 150 receives input from auser of the client device 150. The user input is processed by a digitalmagazine application executing on the client device 150 to allow theuser to interact with content items presented by the digital magazineserver 140.

In the embodiment of FIG. 1, the client device 150 includes a softwareapplication module 152. Other embodiments of the client device 150 mayinclude different or additional modules, other than those shown in FIG.1, e.g., a graphics resource module for monitoring usage of graphicsresources of the client device 150. The software application module 152of the client device 150 receives from the digital magazine server 140 apreview video generated from a corresponding source video and presentsthe preview video on a content page of a digital magazine to a user ofthe digital magazine. In one embodiment, the software application module152 executes a digital magazine application to display the preview videogenerated from the source video and to automatically, and repeatedlyplay back the preview video on the content page until the user clickingthe preview video. The software application module 152 also monitorsuser interactions with the preview video and notifies the digitalmagazine sever 140 upon detection of user interactions, e.g., a mouseclick on the display of the preview video. Upon detection of userclicking on the display of the preview video, which indicates the user'sinterest in the source video, the software application module 152 pausesthe auto playback of the preview video and presents the source video onthe content page to the user.

Examples of Presenting Video Content Pages of a Digital Magazine

FIG. 2 is an example digital magazine page 200 with a video content itempresented on a display of a client device 150, according to oneembodiment. In the embodiment shown in FIG. 2, the digital magazine page200 includes one or more content slots for presenting different contentitems on the page 200 to a user according to a page layout template. Apage template includes one or more content slots, and each slot is forpresenting one or more content items. For example, a content slot in apage layout template is used to present a video while another slot inthe page layout template is used to present an image. Each content slothas a size (e.g., small, medium, or large) and an aspect ratio. Forexample, the content slot 210 is for presenting a video content item 212(e.g., a source video or a preview video generated from the sourcevideo), the content slots 220A and 220B are for presenting text contentitems such as textual articles, blogs or user-generated posts, and thecontent slots 230A and 230B are for presenting image content items suchas static pictures and user-uploaded photos. In alternative embodiments,additional or fewer content slots for presenting content items indifferent formats such as videos, audio, texts or images can be shown onthe digital magazine page 200.

In one embodiment, the content slot 210 further includes an interfacebar 214, which includes one or more interaction tools to allow users tointeract with the video content item 212 displayed in the content slot210. In the embodiment shown in FIG. 2, the interface bar 214 includes aplay button 215, a pause button 216 and a stop button 217. The playbutton 215 is configured for users to play the video content item 212from beginning or from a pause state. The pause button 216 is configuredfor users to pause the playing of the video content item 212. The stopbutton 217 is configured for users to stop the playing of the videocontent item 212. In alternative embodiments, the interface bar 214 ofthe content slot 210 may include additional or fewer interaction toolsfor users to interact with the video content item 212.

In one embodiment, to offer different control over user interactionswith the video content item 212 displayed in the content slot 210, theinterface bar 214 can be configured to be visible or invisible fordisplay depending on which video content item 212, a source video or apreview video generated from the source video, is displayed in thecontent slot 210. For example, if a source video is being displayed inthe content slot 210 for a user of the digital magazine, e.g., a10-second long video advertisement for a car, the interface bar 214 isvisible for display, which allows the user to interact with the sourcevideo such as playing back, pausing or stopping the source video.

On the other hand, if a preview video generated from a source video isbeing displayed in the content slot 210 for a user of the digitalmagazine, e.g., a 5-second long video generated from a 10-second longvideo advertisement for a car, showing new features of the car, theinterface bar 214 is invisible for display, which allows auto playbackof the preview video without an explicit play action by the user. Inresponse to a click on any part of the display of the preview video fromthe user, the video content being displayed is switched to the sourcevideo and the interface bar 214 is visible to allow the user to interactwith the source video.

In another embodiment, the content slot 210 includes a visible interfacebar 214 regardless which video content item 212, a source video or apreview video generated from the source video, is being displayed in thecontent slot 210, which allows the user to interact with the videocontent being displayed in the content slot 210. For example, a playbackbutton or a similar indicator is displayed on the interface of thepreview video, indicating that a full video (i.e., the source video)will start to play once the preview video is clicked or tapped. As shownin FIG. 2, the video content item 212 presented in the content slot 210,e.g., a source video or a preview video generated from the source video,is represented by a current video frame of the video content, i.e., acar picture, associated with the playing back of the video content. Forthe content items presented in the content slots on a digital magazinepage such as the page 200 shown in FIG. 2, video content items may havefile formats such as MP4, WMV, MOV, AVI and other suitable video fileformats.

Example Video Preview Module

The media server 120 receives content items from one or more sources 110or provided by the digital magazine server 140 or users of the digitalmagazine server 140, generates pages in a digital magazine by processingthe received content, and provides the pages to the client device 150 orprovides instructions to the client device 150 to generate pages in adigital magazine. In one embodiment, the media server 120 receives avideo content item and generates a preview video from the video contentitem by a video preview module, where the preview video is presented ona content page of a digital magazine, e.g., the page 200 shown in FIG.2. The preview video is generated so that it provides interesting andrepresentative information about the video content item. A preview videogenerated from a source video includes a portion or all of the sourcevideo, e.g., some or all video frames of the source video. A previewvideo generated from a source video can be different from the sourcevideo in various ways, including, e.g., different length, frame rate,bit rate, sampling rate, resolution, encoding/decoding scheme, mediaformat, and sound quality.

FIG. 3 is an example block diagram of a video preview module 122 of themedia server 120 for generating a preview video from a source video,according to one embodiment. In the embodiment of FIG. 3, the videopreview module 122 includes an interface module 310, a segmentationmodule 320, a selection module 330 and a preview generation module 340.In alternative embodiments, additional or fewer components can be shownin the video preview module 122.

The interface module 310 receives a source video from a user of thedigital magazine server 140, e.g., an advertiser or a media contentpublisher, and extracts metadata associated with the source video. Inone embodiment, the metadata associated with the source video includesinformation describing the source video such as media format of thesource video (e.g., MP4), length of the source video (e.g., in terms ofseconds or number of video frames), frame rate (e.g., 24 frames persecond), bit rate (e.g., 2000 Kbits/second for 720 progressive videos),sampling rate (e.g., 4:2:0 for video pixels in YCbCr color space and44.8 kHz for DVD sound), resolution (e.g., 1024×768 pixels),encoding/decoding scheme (e.g., H.264), source of the source video(e.g., a sports channel), genre or type of the source video (e.g., asports video, a news or movie), and sound quality (e.g., CD audio or DVDaudio).

The interface module 310 provides the received source video and itsassociated metadata to other modules of the video preview module 122 togenerate a preview video from the source video. In one embodiment, theinterface module 310 provides the received source video and itsassociated metadata to the segmentation module 320 for segmenting thesource video into multiple portions. In response to receivinginstructions on how to segment the source video from the user whoprovides the source video, e.g., segmenting the source video by theboundaries of predefined group of pictures of the source video, theinterface module 310 provides the received source video, associatedmetadata and corresponding instructions to the segmentation module 320for further processing.

Upon receiving a preview video generated by the preview generationmodule 340, the interface module 310 provides the preview video or thecontent page for presenting the preview video and instructions on how toplay back the preview video to the user's client device 150. The clientdevice 150 automatically plays back the preview video on the contentpage of a digital magazine without an explicit playback action from theuser. In response to a notification of user clicking the preview videofrom the client device 150, the interface module 310 instructs theclient device 150 to pause the auto playback of the preview video and topresent the source video on the content page to the user.

The segmentation module 320 receives a source video and associatedmetadata from the interface module 310 and segments the source videointo multiple portions or segments. In the embodiment shown in FIG. 3,the segmentation module 320 includes a manual segmentation module 322and an auto segmentation module 324. In other embodiments, thesegmentation module 320 can include additional and/or different modulesthan the ones shown in FIG. 3.

The manual segmentation module 322 segments the source video into one orportions according to instructions provided by the user, who providesthe source video, e.g., an advertiser. Because the provider of thesource video is generally expected to know the video content best andhow the video content is captured by various video frames of the sourcevideo, the instructions from the provider of the source video guide themanual segmentation module 322 on how to segment the source video intomultiple segments. Example instructions include segmenting the sourcevideo into multiple groups of pictures, and each group of picturesincludes just one intra frame (also referred to as I-frame), where theintra frame is generally not compressed or compressed less than othertypes of video frames, such as bi-directional predicted frames (alsoreferred to as B-frames) or predicted frames (as referred to asP-frames). Another example of instructions include segmentationboundaries for a specified portion of the source video, e.g., theportion starting at 10^(th) second, ending at 30^(th) second of thesource video, or the portion beginning with 100^(th) frame and endingwith 164^(th) frame of the source video. The instructions may furtherinclude ordering information to combine multiple portions of the sourcevideo segmented by the manual segmentation module 322.

The auto segmentation module 324 segments the source video according toa variety of segmentation criteria. Examples of segmentation criteriainclude detected scene changes within the source video, volume changesof audio of the source video, human and object detection within thevideo frames of the source video, motion detection within the videoframes of the source video, visual quality of the video frames of thesource video, color information of the video frames of the source video,byte size of each video frame or segment and combination of thereof. Theauto segmentation module 324 selects one or more segmentation criteria,and for each selected segmentation criterion, the auto segmentationmodule 324 segments the source video into multiple segments according tothe selected criterion and generates a score for each segment based onthe visual quality of the segment. The auto segmentation module 324 mayfurther rank the segments based on the scores associated with thesegments.

Taking scene detection criterion as an example, the auto segmentationmodule 324 analyzes the source video and detects shot transition betweensections of the source video, e.g., by comparing visual content of videoframes of the source video. Responsive to a detection of change ofvisual content of a video frame from its temporally consecutive videoframe, the auto segmentation module 324 groups the video frames prior tothe detected change as a segment and the remaining video frames asanother segment. The auto segmentation module 324 can continue detectingadditional scene changes among the remaining video frames and furthersegments the remaining video frames into additional segments. For eachsegment, the auto segmentation module 324 determines a scene associatedwith the segment, e.g., based on the common visual features of the videoframes within the segment. Among segments having similar scenes, theauto segmentation module 324 assigns a higher score to a segment havingbetter visual quality than other segments.

The selection module 330 selects one or more segments of the sourcevideo to be included in the preview video, where the selected segmentsof the source video provide interesting and representative informationabout the source video. In one embodiment, the selection module 330selects segments having higher scores. In another embodiment, theselection module 330 selects multiple segments, each of which representsa difference scene of the source video. In yet another embodiment, theselection module 330 selects video frames of the source video using alower sampling rate than the one associated with the source video.

To make the preview video more attractive, the selection module 330applies one or more filters to candidate segments to be included in thepreview video, where the filtering excludes uninteresting video framesfrom the candidate segments. In one embodiment, video frames having lowmovement, e.g., a human talking head without much body movement, lowsound volume, are considered uninteresting. Multiple temporallyconsecutive video frames having slow inter-frame activity can also beexcluded. The selection module 330 provides the selected portions of thesource video and ordering information, e.g., timestamp of the videoframes of the selected portions of the source video, to the previewgeneration module 340 to generate the preview video.

The preview generation module 340 combines the segments of the sourcevideo selected by the selection module 330 to generate a preview video.In one embodiment, the preview generation module 340 combines theselected segments of the source video according to the timestampsassociated with the segments to generate the preview video. It is notedthat the selected segments of the source video may represent differentscenes of the source video, e.g., segment 1 for a new feature of a soundsystem of a car, segment 2 for a new feature of auto parking of the car.A preview video generated by directly combining the selected segmentsaccording to their timestamps may not be continuous in terms ofsmoothness between scenes, which may degrade the user experience withthe preview video.

To enhance user experience with the preview video, the previewgeneration module 340 adds smooth transition between segments. In oneembodiment, the preview generation module 340 generates the smoothtransition between two segments by adding gradual transition from thelast video frame of the first segment to the first video frame of thesecond segment. The preview generation module 340 can use video editingtechniques, such as linear or non-linear video editing, to create thegradual transition (e.g., fade-in or fade-out visual effect). Forexample, using non-linear video editing technique, the previewgeneration module 340 interpolates gradually between color values ofeach pixel of the last video frame of the first segment to create thesmooth transition.

In one embodiment, the preview generation module 340 generates multiplepreview videos from a same source video. Each preview video is differentfrom each other in one or more ways. Multiple preview videos are toserve different client devices 150. As described with reference to FIG.1 above, different client devices 150 may have different characteristicssuch as different processing capabilities, different connection speedswith the digital magazine server 140 over the network 130. In oneembodiment, the preview generation module 340 generates multiple previewvideos, each of which is for a different display resolution of theclient devices 150, e.g., 480p, 720p, 1080p and 2160p. In anotherembodiment, the preview generation module 340 generates multiple previewvideos, each of which is for a different network connection speed of theclient devices 150. For example, for a client device 150 having a slownetwork connection speed, the preview generation module 340 generates apreview video with video frames sampled at a lower frame rate than for aclient device 105 having a higher network connection speed.

After the preview video is generated, the preview generation module 340generates a content page for presenting the preview video in a digitalmagazine such as the content page 200 shown in FIG. 2. In oneembodiment, the preview video can be presented in an animated graphicsinterchange format (GIF). In another embodiment, to reduce the file sizeof the preview video, the preview video is presented in a video format,such as MP4. The preview video generation module 340 provides thegenerated preview video to the interface module 310, which provides thepreview video and/or content page to the client device 150 for display.

FIG. 4 is a flowchart illustrating a process of generating a previewvideo from a source video, according to one embodiment. Initially, thevideo preview module 122 receives 410 a video content item from a userof the digital magazine server 140, e.g., a 2-minutes videoadvertisement for a car from an advertiser. The video preview module 122segments 420 the video content item into multiple segments manually orautomatically. For example, responsive to instructions on how to segmentthe video content item from the provider of the video content item, thevideo preview module 122 manually segments the video content itemaccording to the received the instructions. The video preview module 122can also analyze the video content items to identify interestingportions and dynamics of the content of the video content item, e.g.,scene changes, volume changes of sound, detection of human or object.Based on the analysis, the video preview module 122 automaticallysegments the video content item into one or more segments.

To assess the quality of the segmentation, the video preview module 122assigns a score to each segment based on visual quality of the segment.The video preview module 122 can rank the segments based on theirassociated scores. The video preview module 122 selects 430 a number ofsegments to be included in the preview video, e.g., based on the rankingof the segments. The video preview module 122 generates 440 the previewvideo by combining the selected segments according to the timestamps ofthe segments. To enhance user experience with the preview video, thevideo preview module 122 can add smooth transition between segments,e.g., add fade-in effect between the two segments. The video previewmodule 122 presents 450 the preview video to the user of the digitalmagazine server 140 for auto playback.

Summary

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a tangible computer readable storage medium or any typeof media suitable for storing electronic instructions, and coupled to acomputer system bus. Furthermore, any computing systems referred to inthe specification may include a single processor or may be architecturesemploying multiple processor designs for increased computing capability.

The above description is included to illustrate the operation of thepreferred embodiments and is not meant to limit the scope of theinvention. The scope of the invention is to be limited only by thefollowing claims. From the above discussion, many variations will beapparent to one skilled in the relevant art that would yet beencompassed by the spirit and scope of the invention.

What is claimed is:
 1. A computer-implemented method, comprising:receiving a video content item from a content provider for display on acontent page of a digital magazine on a client device, the video contentitem having a plurality of video frames; segmenting the video contentitem into a plurality of segments according to one or more segmentationcriteria, each segment presenting a portion of the video content item;selecting one or more segments from the plurality of segments of thevideo content item; filtering the selected segments to exclude videoframes having an amount of movement below a threshold value; generatinga preview video by combining the filtered segments according totimestamps of the selected segments, the preview video providingrepresentative information about the video content item, whereingenerating the preview video comprises: responsive to a first segmentand a second segment of the selected segments having different visualcontent, adding a gradual transition segment from visual content of thefirst segment to visual content of the second segment, the gradualtransition segment generated by interpolating between color values ofeach pixel of a last video frame of the first segment and each pixel ofa first video frame of the second segment, wherein the transitionsegment adds the gradual transition from the visual content of the firstsegment to the visual content of the second segment; and presenting thegenerated preview video for display on the content page of the digitalmagazine on the client device.
 2. The method of claim 1, whereingenerating the preview video further comprises: determining a frame ratefor sampling video frames of the preview video based on a characteristicof the client device.
 3. The method of claim 1, wherein segmenting thevideo content item comprises: extracting a plurality of metadata fromthe video content item, the plurality of metadata providing informationabout the video content item.
 4. The method of claim 1, wherein the oneor more segmentation criteria comprise at least one of: scene changesdetected within the video frames of the video content item; volumechanges of sound of the video content item; human face or an objectdetected within the video frames of the video content item; visualquality of the video frames of the video content item; size of eachsegment; and amount of movement among the video frames of the videocontent item.
 5. The method of claim 1, wherein segmenting the videocontent item comprises: selecting at least one segmentation criterion;and segmenting the video content item into the plurality of segmentsaccording to the selected segmentation criterion.
 6. The method of claim1, wherein segmenting the video content item comprises: detecting one ormore scene changes within the video frames of the video content item;and grouping video frames before a detected scene change into a firstsegment and video frames after the detected scene change into a secondsegment.
 7. The method of claim 1, wherein segmenting the video contentitem comprises: receiving instructions on how to segment the videocontent item from the content provider; and segmenting the video contentitem according the received instructions.
 8. The method of claim 1,further comprising: generating a plurality of preview videos from thereceived video content item, each preview video of the plurality videobeing generated according to a characteristic of a target client device,and the preview video generated according to the characteristic of thetarget client device being suitable for display on the target clientdevice.
 9. A non-transitory computer-readable storage medium storingcomputer program instructions, the computer program instructions whenexecuted by a computer processor causes the processor to perform stepsof: receiving a video content item from a content provider for displayon a content page of a digital magazine on a client device, the videocontent item having a plurality of video frames; segmenting the videocontent item into a plurality of segments according to one or moresegmentation criteria, each segment presenting a portion of the videocontent item; selecting one or more segments from the plurality ofsegments of the video content item; filtering the selected segments toexclude video frames having an amount of movement below a thresholdvalue; generating a preview video by combining the filtered segmentsaccording to timestamps of the selected segments, the preview videoproviding representative information about the video content item,wherein generating the preview video comprises: responsive to a firstsegment and a second segment of the selected segments having differentvisual content, adding a gradual transition segment from visual contentof the first segment to visual content of the second segment the gradualtransition generated by interpolating between color values of each pixelof a last video frame of the first segment and each pixel of a firstvideo frame of the second segment and the gradual transition segmentadds the gradual transition from the visual content of the first segmentto the visual content of the second segment; and presenting thegenerated preview video for display on the content page of the digitalmagazine on the client device.
 10. The computer-readable storage mediumof claim 9, wherein generating the preview video further comprises:determining a frame rate for sampling video frames of the preview videobased on a characteristic of the client device.
 11. Thecomputer-readable storage medium of claim 9, wherein segmenting thevideo content item comprises: extracting a plurality of metadata fromthe video content item, the plurality of metadata providing informationabout the video content item.
 12. The computer-readable storage mediumof claim 9, wherein the one or more segmentation criteria comprise atleast one of: scene changes detected within the video frames of thevideo content item; volume changes of sound of the video content item;human face or an object detected within the video frames of the videocontent item; visual quality of the video frames of the video contentitem; size of each segment; and amount of movement among the videoframes of the video content item.
 13. The computer-readable storagemedium of claim 9, wherein segmenting the video content item comprises:selecting at least one segmentation criterion; and segmenting the videocontent item into the plurality of segments according to the selectedsegmentation criterion.
 14. The computer-readable storage medium ofclaim 9, wherein segmenting the video content item comprises: detectingone or more scene changes within the video frames of the video contentitem; and grouping video frames before a detected scene change into afirst segment and video frames after the detected scene change into asecond segment.
 15. The computer-readable storage medium of claim 9,wherein segmenting the video content item comprises: receivinginstructions on how to segment the video content item from the contentprovider; and segmenting the video content item according the receivedinstructions.
 16. The computer-readable storage medium of claim 9,further comprising: generating a plurality of preview videos from thereceived video content item, each preview video of the plurality videobeing generated according to a characteristic of a target client device,and the preview video generated according to the characteristic of thetarget client device being suitable for display on the target clientdevice.